package com.tuling;

//这个类也不需要你去注入,dubbo已经帮你注入了.
public class DemoServiceStub implements DemoService {
    // 这里你不需要用@Reference注解去注入,dubbo已经帮你做了.
    private final DemoService demoService;

    // 构造函数传入真正的远程代理对象
    public DemoServiceStub(DemoService demoService) {
        this.demoService = demoService;
    }

    @Override
    public String sayHello(String name) {
        // 此代码在客户端执行, 你可以在客户端做ThreadLocal本地缓存，或预先验证参数是否合法，等等

        System.out.println("2.我触发了本地存根方法开始....");
        String s = demoService.sayHello(name);
        System.out.println("3.sayHello的结果是 = " + s);
        System.out.println("4.我触发了本地存根方法结束....");

        // 你可以容错，可以做任何AOP拦截事项
        return "5.我是本地方法存根的返回值";
    }
}
